///// Сенсор импульсный  D7 GPIO13
class impulsSensor 
{
  private:
    int _sensorImpulse;         // Подключаем сенсон к D7 GPIO13
    bool _press = false;        // Флаг для отключения ложных срабатываний
    uint32_t _timer = 0;        // Переменная для хранения милис
    int  _timerMax;             // Время задержки опроса датчика

  public:
    impulsSensor(int pin, int timerMax) // Ввести ПИН на котором сидит кнопка и длительность при которой срабатывает долгое нажатие
    {
      _sensorImpulse = pin;           // Получаем ПИН на котором сидит кнопка
      _timerMax = timerMax;           // Получаем время задержки опроса датчика
      pinMode(_sensorImpulse, INPUT_PULLUP); // Режим пина выбран как вход
    }
    bool pollingSensor() 
    {
      // Отработка импульса сенсора 
      if (!digitalRead(_sensorImpulse) && !_press && ((millis() - _timer) > _timerMax)) 
      {
        _press=true;
        _timer = millis();
        return true;
      }
      // Отработка отсутствия импульса
      if (digitalRead(_sensorImpulse) && _press && ((millis() - _timer) > _timerMax)) 
      {
        _press = false;
        _timer = millis();
      } 
      return false;     
    }
    bool potocSensor()
    {
     return !digitalRead(_sensorImpulse);
    }
};
